<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<link rel="STYLESHEET" href="gheat.css" type='text/css' />
<link rel="SHORTCUT ICON" href="icons/zeta.ico" />
<link rel='start' href='http://www.zetadev.com/software/gheat/' title='Gheat Homepage' />
<link rel="first" href="gheat.html" title='Gheat' />
<link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...' />
<link rel="next" href="installation.html" />
<link rel="prev" href="gheat.html" />
<link rel="parent" href="gheat.html" />
<link rel="next" href="installation.html" />
<meta name='aesop' content='information' />
<title>1. Introduction</title>
</head>
<body>
<DIV CLASS="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td class='online-navigation'><a rel="prev" title="Gheat"
  href="gheat.html"><img src='icons/previous.png'
  border='0' height='32'  alt='Previous Page' width='32' /></A></td>
<td class='online-navigation'><a rel="parent" title="Gheat"
  href="gheat.html"><img src='icons/up.png'
  border='0' height='32'  alt='Up One Level' width='32' /></A></td>
<td class='online-navigation'><a rel="next" title="2. Installation"
  href="installation.html"><img src='icons/next.png'
  border='0' height='32'  alt='Next Page' width='32' /></A></td>
<td align="center" width="100%">Gheat</td>
<td class='online-navigation'><img src='icons/blank.png'
  border='0' height='32'  alt='' width='32' /></td>
<td class='online-navigation'><img src='icons/blank.png'
  border='0' height='32'  alt='' width='32' /></td>
<td class='online-navigation'><img src='icons/blank.png'
  border='0' height='32'  alt='' width='32' /></td>
</tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="gheat.html">Gheat</A>
<b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="gheat.html">Gheat</A>
<b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="installation.html">2. Installation</A>
</div>
<hr /></div>
</DIV>
<!--End of Navigation Panel-->

<H1><A NAME="SECTION001000000000000000000"></A>
<A NAME="introduction"></A>
<BR>
1. Introduction
</H1>

<P>
<a class="ulink" href="http://maps.google.com/"
  >Google Maps</a> provides <a class="ulink" href="http://code.google.com/apis/maps/"
  >a JavaScript
API</a> for integrating their maps with your
website. The API includes calls to add markers on the map for various data
points, but this only works when the number of markers placed on any given map
view is relatively small. Gheat solves the problem of presenting data on a
Google map when there is too much data to be well-visualized by map markers. It
does so by using another of the JavaScript API's Google makes available,
whereby additional tilesets can be layered on top of the base map tileset.
(Google Maps works by splitting map imagery into 256x256 pixel tiles and then
knitting them together client-side.)

<P>
Gheat runs as a standalone web application under the Aspen webserver. Data 
points are stored in a SQLite database, with each data point uniquely identified
and timestamped. You modify the data in this database using a bundled script, 
run from the command line. The script reads data you provide in a CSV file and 
updates the database accordingly.

<P>
Gheat only generates tiles containing data when requested, and it stores these
tiles on the filesystem for future use. On subsequent requests, if no data
relevant to the tile has changed, then the image is served straight from the
filesystem. This saves considerable processing time. Most tiles will be empty,
however, and Gheat precreates empty tiles for all zoom levels and serves the
same file for all empty tiles at a given zoom level. This saves considerable
disk space. These tile caches are organized on the filesystem under the name of
each color scheme in the root of the gheat distribution. Under each such
directory, there is a directory for each zoom level (named <span class="file">0</span>, <span class="file">1</span>,
<span class="file">2</span>, etc.), and another called <span class="file">empties</span>. Gheat will create and
recreate tile cache directories as necessary, and tile caches can be safely
deleted at any time.

<P>
Because of the cost of generating heatmaps, Gheat is probably not suitable for
realtime applications. But Gheat performs well when the underlying dataset
evolves on a weekly or even daily basis.

<P>

<DIV CLASS="navigation">
<div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr>
<td class='online-navigation'><a rel="prev" title="Gheat"
  href="gheat.html"><img src='icons/previous.png'
  border='0' height='32'  alt='Previous Page' width='32' /></A></td>
<td class='online-navigation'><a rel="parent" title="Gheat"
  href="gheat.html"><img src='icons/up.png'
  border='0' height='32'  alt='Up One Level' width='32' /></A></td>
<td class='online-navigation'><a rel="next" title="2. Installation"
  href="installation.html"><img src='icons/next.png'
  border='0' height='32'  alt='Next Page' width='32' /></A></td>
<td align="center" width="100%">Gheat</td>
<td class='online-navigation'><img src='icons/blank.png'
  border='0' height='32'  alt='' width='32' /></td>
<td class='online-navigation'><img src='icons/blank.png'
  border='0' height='32'  alt='' width='32' /></td>
<td class='online-navigation'><img src='icons/blank.png'
  border='0' height='32'  alt='' width='32' /></td>
</tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="gheat.html">Gheat</A>
<b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="gheat.html">Gheat</A>
<b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="installation.html">2. Installation</A>
</div>
</div>
<hr />
<span class="release-info">Release 0.2, documentation updated on April 29, 2008.</span>
</DIV>
<!--End of Navigation Panel-->
<ADDRESS>
<a href="http://www.zetadev.com/software/gheat/">Gheat</a> is copyright &copy; 2007-2008 by Chad Whitacre and contributors, and is offered under the MIT license.
</ADDRESS>
</BODY>
</HTML>
